#ifndef NETWORK_FORWARD_INTERFACE_H
#define NETWORK_FORWARD_INTERFACE_H

#include <string>
#include <sdbus-c++/sdbus-c++.h>
#include <thread>

class NetworkForwardInterface
{
  public:
    NetworkForwardInterface();
    virtual ~NetworkForwardInterface();
    void Boot();
    long GetNetworkPort();
    long CreateTask(std::string);
    std::string GetStudentInfo(long stu_id);
    void MobileConnectChange(bool);
    void StartRecord(long task_id,long stu_id);
    void StopRecord();
    bool GetRecordStatus();
    bool CheckStudentExists(long stuid);

  private:
    std::unique_ptr<sdbus::IConnection> connection;
    std::unique_ptr<sdbus::IProxy> proxy;
    const char* InterfaceName="org.HBTY.NetworkForward";
    std::thread workThread;
};

#endif
